package com.dhcc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.base.BaseService;
import com.dhcc.entity.SysApiPerm;

import java.util.List;

/**
 * 接口权限表接口层
 * @ProjectName Dhcc-Cloud
 * @PackageName com.dhcc.service
 * @Title SysApiPermService
 * @Date 2024/12/5 下午10:18
 * @Author LiuGuoting
 */
public interface SysApiPermService extends BaseService<SysApiPerm> {

    /**
     * 自定义分页查询接口权限信息
     * @param page 分页参数
     * @param sysApiPerm 接口权限实体对象
     * @return IPage<SysApiPerm> 分页查询结果
     */
    IPage<SysApiPerm> page(IPage<SysApiPerm> page, SysApiPerm sysApiPerm);

    /**
     * 查询所有接口权限信息
     * @return List<SysApiPerm> 接口权限列表
     */
    List<SysApiPerm> listAll();

    /**
     * 新增接口权限信息
     * @param sysApiPerm 接口权限实体对象
     * @return Boolean 操作结果
     */
    Boolean addSysApiPerm(SysApiPerm sysApiPerm);

    /**
     * 更新接口权限信息
     * @param sysApiPerm 接口权限实体对象
     * @return Boolean 操作结果
     */
    Boolean updateSysApiPerm(SysApiPerm sysApiPerm);

    /**
     * 查询接口权限信息
     * @param id 接口权限ID
     * @return SysApiPerm 接口权限实体对象
     */
    SysApiPerm getSysApiPermById(String id);

    /**
     * 更新接口权限状态
     * @param id 接口权限ID
     * @param status 状态
     * @return Boolean 操作结果
     */
    Boolean updateStatus(String id, int status);

    /**
     * 批量更新接口权限状态
     * @param ids 接口权限ID集合
     * @param status 状态
     * @return Boolean 操作结果
     */
    Boolean updateStatusBatch(List<String> ids, int status);
}
